﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class OctTree&lt;T&gt;
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class OctTree&lt;T&gt;
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="CADability.OctTree`1">
  
  
  <h1 id="CADability_OctTree_1" data-uid="CADability.OctTree`1" class="text-break">Class OctTree&lt;T&gt;
  </h1>
  <div class="markdown level0 summary"><p>Generic class to privide fast access to <a class="xref" href="CADability.IOctTreeInsertable.html">IOctTreeInsertable</a> implementing objects.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">OctTree&lt;T&gt;</span></div>
      <div class="level2"><a class="xref" href="CADability.BRepOperation.html">BRepOperation</a></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="CADability.html">CADability</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="CADability_OctTree_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class OctTree&lt;T&gt;
    where T : IOctTreeInsertable</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>The generic type, must implement <a class="xref" href="CADability.IOctTreeInsertable.html">IOctTreeInsertable</a></p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1__ctor.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1086">View Source</a>
  </span>
  <a id="CADability_OctTree_1__ctor_" data-uid="CADability.OctTree`1.#ctor*"></a>
  <h4 id="CADability_OctTree_1__ctor" data-uid="CADability.OctTree`1.#ctor">OctTree()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public OctTree()</code></pre>
  </div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1__ctor_CADability_BoundingCube_System_Double_CADability_OctTree__0__SplitTestFunction_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.%23ctor(CADability.BoundingCube%2CSystem.Double%2CCADability.OctTree%7B%600%7D.SplitTestFunction)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1116">View Source</a>
  </span>
  <a id="CADability_OctTree_1__ctor_" data-uid="CADability.OctTree`1.#ctor*"></a>
  <h4 id="CADability_OctTree_1__ctor_CADability_BoundingCube_System_Double_CADability_OctTree__0__SplitTestFunction_" data-uid="CADability.OctTree`1.#ctor(CADability.BoundingCube,System.Double,CADability.OctTree{`0}.SplitTestFunction)">OctTree(BoundingCube, Double, OctTree&lt;T&gt;.SplitTestFunction)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public OctTree(BoundingCube ext, double precision, OctTree&lt;T&gt;.SplitTestFunction splitTest = null)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">ext</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.SplitTestFunction.html">OctTree.SplitTestFunction</a>&lt;&gt;</td>
        <td><span class="parametername">splitTest</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_node.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.node%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L115">View Source</a>
  </span>
  <h4 id="CADability_OctTree_1_node" data-uid="CADability.OctTree`1.node">node</h4>
  <div class="markdown level1 summary"><p>The root <a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree&lt;T&gt;.Node&lt;TT&gt;</a> of this octtree</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected OctTree&lt;T&gt;.Node&lt;T&gt; node</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_precision.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.precision%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L111">View Source</a>
  </span>
  <h4 id="CADability_OctTree_1_precision" data-uid="CADability.OctTree`1.precision">precision</h4>
  <div class="markdown level1 summary"><p>The precision of this octtree</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public double precision</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_Extend.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.Extend%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1310">View Source</a>
  </span>
  <a id="CADability_OctTree_1_Extend_" data-uid="CADability.OctTree`1.Extend*"></a>
  <h4 id="CADability_OctTree_1_Extend" data-uid="CADability.OctTree`1.Extend">Extend</h4>
  <div class="markdown level1 summary"><p>returns the extend of the root node.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public BoundingCube Extend { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_IsEmpty.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.IsEmpty%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1320">View Source</a>
  </span>
  <a id="CADability_OctTree_1_IsEmpty_" data-uid="CADability.OctTree`1.IsEmpty*"></a>
  <h4 id="CADability_OctTree_1_IsEmpty" data-uid="CADability.OctTree`1.IsEmpty">IsEmpty</h4>
  <div class="markdown level1 summary"><p>Returns true if the tree is empty</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsEmpty { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_AddMany_System_Collections_Generic_IEnumerable__0__.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.AddMany(System.Collections.Generic.IEnumerable%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1176">View Source</a>
  </span>
  <a id="CADability_OctTree_1_AddMany_" data-uid="CADability.OctTree`1.AddMany*"></a>
  <h4 id="CADability_OctTree_1_AddMany_System_Collections_Generic_IEnumerable__0__" data-uid="CADability.OctTree`1.AddMany(System.Collections.Generic.IEnumerable{`0})">AddMany(IEnumerable&lt;T&gt;)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void AddMany(IEnumerable&lt;T&gt; objectsToAdd)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><span class="parametername">objectsToAdd</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_AddObject__0_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.AddObject(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1135">View Source</a>
  </span>
  <a id="CADability_OctTree_1_AddObject_" data-uid="CADability.OctTree`1.AddObject*"></a>
  <h4 id="CADability_OctTree_1_AddObject__0_" data-uid="CADability.OctTree`1.AddObject(`0)">AddObject(T)</h4>
  <div class="markdown level1 summary"><p>Add the provided object to the tree. This may split some nodes and cause calls to the method of other objects already in the tree.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void AddObject(T objectToAdd)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">objectToAdd</span></td>
        <td><p>Object beeing added</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_AddObjectAsync__0_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.AddObjectAsync(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1159">View Source</a>
  </span>
  <a id="CADability_OctTree_1_AddObjectAsync_" data-uid="CADability.OctTree`1.AddObjectAsync*"></a>
  <h4 id="CADability_OctTree_1_AddObjectAsync__0_" data-uid="CADability.OctTree`1.AddObjectAsync(`0)">AddObjectAsync(T)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void AddObjectAsync(T objectToAdd)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">objectToAdd</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_FindExactNode_CADability_BoundingCube_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.FindExactNode(CADability.BoundingCube)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1352">View Source</a>
  </span>
  <a id="CADability_OctTree_1_FindExactNode_" data-uid="CADability.OctTree`1.FindExactNode*"></a>
  <h4 id="CADability_OctTree_1_FindExactNode_CADability_BoundingCube_" data-uid="CADability.OctTree`1.FindExactNode(CADability.BoundingCube)">FindExactNode(BoundingCube)</h4>
  <div class="markdown level1 summary"><p>Find the node which corresponds exactely to the provided boundingcube</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public OctTree&lt;T&gt;.Node&lt;T&gt; FindExactNode(BoundingCube bc)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">bc</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_FindNode_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.FindNode(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1343">View Source</a>
  </span>
  <a id="CADability_OctTree_1_FindNode_" data-uid="CADability.OctTree`1.FindNode*"></a>
  <h4 id="CADability_OctTree_1_FindNode_CADability_GeoPoint_" data-uid="CADability.OctTree`1.FindNode(CADability.GeoPoint)">FindNode(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Find the node containing the provided point.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public OctTree&lt;T&gt;.Node&lt;T&gt; FindNode(GeoPoint center)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">center</span></td>
        <td><p>the point</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;</td>
        <td><p>the node or null if outside</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetAllObjects.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetAllObjects%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1584">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetAllObjects_" data-uid="CADability.OctTree`1.GetAllObjects*"></a>
  <h4 id="CADability_OctTree_1_GetAllObjects" data-uid="CADability.OctTree`1.GetAllObjects">GetAllObjects()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetAllObjects()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetNeighbourNodes_CADability_OctTree__0__Node__0__CADability_OctTree__0__FilterNode_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetNeighbourNodes(CADability.OctTree%7B%600%7D.Node%7B%600%7D%2CCADability.OctTree%7B%600%7D.FilterNode)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1416">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetNeighbourNodes_" data-uid="CADability.OctTree`1.GetNeighbourNodes*"></a>
  <h4 id="CADability_OctTree_1_GetNeighbourNodes_CADability_OctTree__0__Node__0__CADability_OctTree__0__FilterNode_" data-uid="CADability.OctTree`1.GetNeighbourNodes(CADability.OctTree{`0}.Node{`0},CADability.OctTree{`0}.FilterNode)">GetNeighbourNodes(OctTree&lt;T&gt;.Node&lt;T&gt;, OctTree&lt;T&gt;.FilterNode)</h4>
  <div class="markdown level1 summary"><p>Returns all neighbour nodes to the provided node. The result is sortet in a 2-dimensional array where the first
index defines the side according to <a class="xref" href="CADability.OctTree-1.Side.html">OctTree&lt;T&gt;.Side</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected OctTree&lt;T&gt;.Node&lt;T&gt;[][] GetNeighbourNodes(OctTree&lt;T&gt;.Node&lt;T&gt; node, OctTree&lt;T&gt;.FilterNode filter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;</td>
        <td><span class="parametername">node</span></td>
        <td><p>The node which neighbours are requested</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.FilterNode.html">OctTree.FilterNode</a>&lt;&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>A optinal filter or null if unfiltered</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;[][]</td>
        <td><p>The neighbour nodes</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetNeighbours_CADability_OctTree__0__Node__0__CADability_OctTree__0__Filter_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetNeighbours(CADability.OctTree%7B%600%7D.Node%7B%600%7D%2CCADability.OctTree%7B%600%7D.Filter)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1379">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetNeighbours_" data-uid="CADability.OctTree`1.GetNeighbours*"></a>
  <h4 id="CADability_OctTree_1_GetNeighbours_CADability_OctTree__0__Node__0__CADability_OctTree__0__Filter_" data-uid="CADability.OctTree`1.GetNeighbours(CADability.OctTree{`0}.Node{`0},CADability.OctTree{`0}.Filter)">GetNeighbours(OctTree&lt;T&gt;.Node&lt;T&gt;, OctTree&lt;T&gt;.Filter)</h4>
  <div class="markdown level1 summary"><p>Returns all neighbours to the provided node. The result is sortet in a 2-dimensional array where the first
index defines the side according to <a class="xref" href="CADability.OctTree-1.Side.html">OctTree&lt;T&gt;.Side</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected T[][] GetNeighbours(OctTree&lt;T&gt;.Node&lt;T&gt; node, OctTree&lt;T&gt;.Filter filter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;</td>
        <td><span class="parametername">node</span></td>
        <td><p>The node which neighbours are requested</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Filter.html">OctTree.Filter</a>&lt;&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>A optinal filter or null if unfiltered</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[][]</td>
        <td><p>The neighbours</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetNodesCloseTo_CADability_IOctTreeInsertable_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetNodesCloseTo(CADability.IOctTreeInsertable)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1332">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetNodesCloseTo_" data-uid="CADability.OctTree`1.GetNodesCloseTo*"></a>
  <h4 id="CADability_OctTree_1_GetNodesCloseTo_CADability_IOctTreeInsertable_" data-uid="CADability.OctTree`1.GetNodesCloseTo(CADability.IOctTreeInsertable)">GetNodesCloseTo(IOctTreeInsertable)</h4>
  <div class="markdown level1 summary"><p>Returns all nodes close to the provided object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected OctTree&lt;T&gt;.Node&lt;T&gt;[] GetNodesCloseTo(IOctTreeInsertable closeToThis)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IOctTreeInsertable.html">IOctTreeInsertable</a></td>
        <td><span class="parametername">closeToThis</span></td>
        <td><p>Object for selection</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;[]</td>
        <td><p>All nodes interfering with the provided object</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetNodesFromBox_CADability_BoundingCube_CADability_OctTree__0__FilterNode_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetNodesFromBox(CADability.BoundingCube%2CCADability.OctTree%7B%600%7D.FilterNode)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1266">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetNodesFromBox_" data-uid="CADability.OctTree`1.GetNodesFromBox*"></a>
  <h4 id="CADability_OctTree_1_GetNodesFromBox_CADability_BoundingCube_CADability_OctTree__0__FilterNode_" data-uid="CADability.OctTree`1.GetNodesFromBox(CADability.BoundingCube,CADability.OctTree{`0}.FilterNode)">GetNodesFromBox(BoundingCube, OctTree&lt;T&gt;.FilterNode)</h4>
  <div class="markdown level1 summary"><p>Returns all nodes of this tree that interfere with the provided box and pass the filter test.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public OctTree&lt;T&gt;.Node&lt;T&gt;[] GetNodesFromBox(BoundingCube box, OctTree&lt;T&gt;.FilterNode filter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">box</span></td>
        <td><p>Restricting box</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.FilterNode.html">OctTree.FilterNode</a>&lt;&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Additional filter (may be null)</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;[]</td>
        <td><p>All nodes which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsCloseTo_CADability_IOctTreeInsertable_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsCloseTo(CADability.IOctTreeInsertable)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1301">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsCloseTo_" data-uid="CADability.OctTree`1.GetObjectsCloseTo*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsCloseTo_CADability_IOctTreeInsertable_" data-uid="CADability.OctTree`1.GetObjectsCloseTo(CADability.IOctTreeInsertable)">GetObjectsCloseTo(IOctTreeInsertable)</h4>
  <div class="markdown level1 summary"><p>Returns all objects that are close to the provided object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsCloseTo(IOctTreeInsertable closeToThis)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.IOctTreeInsertable.html">IOctTreeInsertable</a></td>
        <td><span class="parametername">closeToThis</span></td>
        <td><p>Object which neighbours are searched</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>All objects close to <code data-dev-comment-type="paramref" class="paramref">closeToThis</code></p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromBox_CADability_BoundingCube_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromBox(CADability.BoundingCube)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1240">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromBox_" data-uid="CADability.OctTree`1.GetObjectsFromBox*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromBox_CADability_BoundingCube_" data-uid="CADability.OctTree`1.GetObjectsFromBox(CADability.BoundingCube)">GetObjectsFromBox(BoundingCube)</h4>
  <div class="markdown level1 summary"><p>Returns all objects that interfere or are close to the provided box.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromBox(BoundingCube box)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">box</span></td>
        <td><p>Box for the selection</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>Array of all objects which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromBox_CADability_BoundingCube_CADability_OctTree__0__Filter_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromBox(CADability.BoundingCube%2CCADability.OctTree%7B%600%7D.Filter)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1253">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromBox_" data-uid="CADability.OctTree`1.GetObjectsFromBox*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromBox_CADability_BoundingCube_CADability_OctTree__0__Filter_" data-uid="CADability.OctTree`1.GetObjectsFromBox(CADability.BoundingCube,CADability.OctTree{`0}.Filter)">GetObjectsFromBox(BoundingCube, OctTree&lt;T&gt;.Filter)</h4>
  <div class="markdown level1 summary"><p>Returns all objects that interfere or are close to the provided box and accepted by the <code data-dev-comment-type="paramref" class="paramref">filter</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromBox(BoundingCube box, OctTree&lt;T&gt;.Filter filter)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">box</span></td>
        <td><p>Box specifying the selection</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Filter.html">OctTree.Filter</a>&lt;&gt;</td>
        <td><span class="parametername">filter</span></td>
        <td><p>Filter restriction the result</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>Array of all objects which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromLine_CADability_GeoPoint_CADability_GeoVector_System_Double_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromLine(CADability.GeoPoint%2CCADability.GeoVector%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1199">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromLine_" data-uid="CADability.OctTree`1.GetObjectsFromLine*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromLine_CADability_GeoPoint_CADability_GeoVector_System_Double_" data-uid="CADability.OctTree`1.GetObjectsFromLine(CADability.GeoPoint,CADability.GeoVector,System.Double)">GetObjectsFromLine(GeoPoint, GeoVector, Double)</h4>
  <div class="markdown level1 summary"><p>Returns an array of objects which contains all objects that are close to the provided line. It may also contain some objects
that have a greater distance than <code data-dev-comment-type="paramref" class="paramref">maxdist</code> to the line.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromLine(GeoPoint start, GeoVector dir, double maxdist)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">start</span></td>
        <td><p>Starting point of the line</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.GeoVector.html">GeoVector</a></td>
        <td><span class="parametername">dir</span></td>
        <td><p>Direction of the line</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">maxdist</span></td>
        <td><p>Maximum distance to the line</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>Array of all objects which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromPlane_CADability_Plane_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromPlane(CADability.Plane)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1290">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromPlane_" data-uid="CADability.OctTree`1.GetObjectsFromPlane*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromPlane_CADability_Plane_" data-uid="CADability.OctTree`1.GetObjectsFromPlane(CADability.Plane)">GetObjectsFromPlane(Plane)</h4>
  <div class="markdown level1 summary"><p>Returns all objects that are close to the provided plane</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromPlane(Plane plane)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Plane.html">Plane</a></td>
        <td><span class="parametername">plane</span></td>
        <td><p>Plane for selection</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>All objects close to the plane</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromPoint_CADability_GeoPoint_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromPoint(CADability.GeoPoint)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1278">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromPoint_" data-uid="CADability.OctTree`1.GetObjectsFromPoint*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromPoint_CADability_GeoPoint_" data-uid="CADability.OctTree`1.GetObjectsFromPoint(CADability.GeoPoint)">GetObjectsFromPoint(GeoPoint)</h4>
  <div class="markdown level1 summary"><p>Returns all objects that are close to the provided point.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromPoint(GeoPoint p)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.GeoPoint.html">GeoPoint</a></td>
        <td><span class="parametername">p</span></td>
        <td><p>Point for selection</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>Array of all objects which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromRect_CADability_Projection_CADability_BoundingRect_System_Boolean_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromRect(CADability.Projection%2CCADability.BoundingRect%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1213">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromRect_" data-uid="CADability.OctTree`1.GetObjectsFromRect*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromRect_CADability_Projection_CADability_BoundingRect_System_Boolean_" data-uid="CADability.OctTree`1.GetObjectsFromRect(CADability.Projection,CADability.BoundingRect,System.Boolean)">GetObjectsFromRect(Projection, BoundingRect, Boolean)</h4>
  <div class="markdown level1 summary"><p>Returns an array of all objects that interfere with the provided rectangle in repect to the provided <a class="xref" href="CADability.Projection.html">Projection</a>.
It may also contain some objects which don't interfere but are close to the rectangle, if <code data-dev-comment-type="paramref" class="paramref">onlyInside</code> is false.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromRect(Projection projection, BoundingRect rect, bool onlyInside)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Projection.html">Projection</a></td>
        <td><span class="parametername">projection</span></td>
        <td><p>The projection</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="CADability.BoundingRect.html">BoundingRect</a></td>
        <td><span class="parametername">rect</span></td>
        <td><p>The rectangle, usually from a selection</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">onlyInside</span></td>
        <td><p>If true, only objects completely inside the rectangle are returned</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>Array of all objects which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_GetObjectsFromRect_CADability_Projection_PickArea_System_Boolean_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.GetObjectsFromRect(CADability.Projection.PickArea%2CSystem.Boolean)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1228">View Source</a>
  </span>
  <a id="CADability_OctTree_1_GetObjectsFromRect_" data-uid="CADability.OctTree`1.GetObjectsFromRect*"></a>
  <h4 id="CADability_OctTree_1_GetObjectsFromRect_CADability_Projection_PickArea_System_Boolean_" data-uid="CADability.OctTree`1.GetObjectsFromRect(CADability.Projection.PickArea,System.Boolean)">GetObjectsFromRect(Projection.PickArea, Boolean)</h4>
  <div class="markdown level1 summary"><p>Returns an array of all objects that interfere with the provided <a class="xref" href="CADability.Projection.PickArea.html">Projection.PickArea</a> area. If <code data-dev-comment-type="paramref" class="paramref">onlyInside</code> is true
only objects inside the frustum or box of the <code data-dev-comment-type="paramref" class="paramref">area</code> are returned, otherwise there may also be objects
that are aoutside this area.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T[] GetObjectsFromRect(Projection.PickArea area, bool onlyInside)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.Projection.PickArea.html">Projection.PickArea</a></td>
        <td><span class="parametername">area</span></td>
        <td><p>the frustum or box defining the selection</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">onlyInside</span></td>
        <td><p>True to only return objects completely inside the area</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>T[]</td>
        <td><p>Array of all objects which match the criterion</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_Initialize_CADability_BoundingCube_System_Double_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.Initialize(CADability.BoundingCube%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1089">View Source</a>
  </span>
  <a id="CADability_OctTree_1_Initialize_" data-uid="CADability.OctTree`1.Initialize*"></a>
  <h4 id="CADability_OctTree_1_Initialize_CADability_BoundingCube_System_Double_" data-uid="CADability.OctTree`1.Initialize(CADability.BoundingCube,System.Double)">Initialize(BoundingCube, Double)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void Initialize(BoundingCube ext, double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">ext</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_InitializePrecise_CADability_BoundingCube_System_Double_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.InitializePrecise(CADability.BoundingCube%2CSystem.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1103">View Source</a>
  </span>
  <a id="CADability_OctTree_1_InitializePrecise_" data-uid="CADability.OctTree`1.InitializePrecise*"></a>
  <h4 id="CADability_OctTree_1_InitializePrecise_CADability_BoundingCube_System_Double_" data-uid="CADability.OctTree`1.InitializePrecise(CADability.BoundingCube,System.Double)">InitializePrecise(BoundingCube, Double)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void InitializePrecise(BoundingCube ext, double precision)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.BoundingCube.html">BoundingCube</a></td>
        <td><span class="parametername">ext</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">precision</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_RemoveObject__0_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.RemoveObject(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1187">View Source</a>
  </span>
  <a id="CADability_OctTree_1_RemoveObject_" data-uid="CADability.OctTree`1.RemoveObject*"></a>
  <h4 id="CADability_OctTree_1_RemoveObject__0_" data-uid="CADability.OctTree`1.RemoveObject(`0)">RemoveObject(T)</h4>
  <div class="markdown level1 summary"><p>Remove object from the tree</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void RemoveObject(T objectToRemove)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">objectToRemove</span></td>
        <td><p>object to bee removed</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1_SplitNode_CADability_OctTree__0__Node__0___0_.md&amp;value=---%0Auid%3A%20CADability.OctTree%601.SplitNode(CADability.OctTree%7B%600%7D.Node%7B%600%7D%2C%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L1571">View Source</a>
  </span>
  <a id="CADability_OctTree_1_SplitNode_" data-uid="CADability.OctTree`1.SplitNode*"></a>
  <h4 id="CADability_OctTree_1_SplitNode_CADability_OctTree__0__Node__0___0_" data-uid="CADability.OctTree`1.SplitNode(CADability.OctTree{`0}.Node{`0},`0)">SplitNode(OctTree&lt;T&gt;.Node&lt;T&gt;, T)</h4>
  <div class="markdown level1 summary"><p>Criterion whether to split a node when it contains too many leaves. The default implemenation yield a dynamically balanced
tree which allows more leaves in deeper nodes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected virtual bool SplitNode(OctTree&lt;T&gt;.Node&lt;T&gt; node, T objectToAdd)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="CADability.OctTree-1.Node-1.html">OctTree.Node</a>&lt;T&gt;</td>
        <td><span class="parametername">node</span></td>
        <td><p>The node beeing checked</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">objectToAdd</span></td>
        <td><p>The object beeing added</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>true, if node should be splitted, false otherwise</p>
</td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=CADability_OctTree_1.md&amp;value=---%0Auid%3A%20CADability.OctTree%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/OctTree.cs/#L106" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
